/**
 * Copyright (c) 2025 myons Inc. All rights reserved.
 */
package cn.zmwh.common.core.utils;

import cn.hutool.core.lang.Snowflake;

/**
 * @describe: 、
 * @author: dmzmwh 、
 * @time: 2025-06-19 15:05 、
 */

/**
 * 全局 ID 生成器（静态方法调用）
 */
public class IdGenerator {

    private static Snowflake snowflake;

    /**
     * 手动初始化（用于非Spring环境）
     */
    public static void init(Snowflake snowflakeInstance) {
        snowflake = snowflakeInstance;
    }


    /**
     * 生成 long 类型 ID
     */
    public static long nextId() {
        if (snowflake == null) {
            throw new IllegalStateException("Snowflake 未初始化，请检查 Spring 容器是否注入！");
        }
        return snowflake.nextId();
    }

    /**
     * 生成 String 类型 ID
     */
    public static String nextIdStr() {
        return String.valueOf(nextId());
    }
}